package com.hyt.it.ogt.ykcj.domain.zs.dto;

import cn.hutool.core.date.DatePattern;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 证书考生信息实体
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "证书考生信息导出DTO", description = "证书考生信息导出")
public class ExportExamineesInfoDTO {

    @ColumnWidth(10)
    @ExcelProperty(value = "姓名", order = 0)
    @ApiModelProperty(value = "考生姓名")
    private String examineeName;

    @ColumnWidth(5)
    @ExcelProperty(value = "性别", order = 1)
    @ApiModelProperty(value = "考生性别描述")
    private String examineeSexDesc;

    @ColumnWidth(15)
    @ExcelProperty(value = "准考证号", order = 2)
    @ApiModelProperty(value = "准考证号")
    private String admissionNo;

    @ColumnWidth(15)
    @ExcelProperty(value = "证件类型", order = 3)
    @ApiModelProperty(value = "证件类型描述")
    private String identificationTypeDesc;

    @ColumnWidth(20)
    @ExcelProperty(value = "证件号码", order = 4)
    @ApiModelProperty(value = "证件号码")
    private String identificationNo;

    @ColumnWidth(18)
    @ExcelProperty(value = "证书专业", order = 5)
    @ApiModelProperty(value = "证书专业名称")
    private String certificateSubjectName;

    @ColumnWidth(10)
    @ExcelProperty(value = "证书级别", order = 6)
    @ApiModelProperty(value = "证书级别描述")
    private String certificateLevelDesc;

    @ColumnWidth(15)
    @ExcelProperty(value = "证书编号", order = 7)
    @ApiModelProperty(value = "证书编号")
    private String certificateSerialNumber;

    @ColumnWidth(25)
    @ExcelProperty(value = "证书有效期", order = 8)
    @ApiModelProperty(value = "证书有效期")
    private String certificateValidityDateDesc;

    @ColumnWidth(15)
    @DateTimeFormat(DatePattern.NORM_DATE_PATTERN)
    @ExcelProperty(value = "发证日期", order = 9)
    @ApiModelProperty(value = "发证日期")
    private Date certificateIssueData;

    @ColumnWidth(10)
    @ExcelProperty(value = "证书状态", order = 10)
    @ApiModelProperty(value = "证书发放状态描述：1-已发放，2-未发放")
    private String certificateProvideStatusDesc;
}
